Made with Unity | 《龙之谷2》——MMO游戏中的动作之王
要说这几天最热的手游,那绝对数得上9号刚刚全平台上线的《龙之谷2》。这款由盛趣游戏研发的开放大世界手游,开服前就有超过1500万人次预约,上线第一天就空降iOS免费榜TOP 1的位置,人气爆棚的同时还收获了无数好评。盛趣游戏过去近20年在MMO品类有着深厚的研发积累,再加上多年前就风靡端游平台的爆款IP,《龙之谷2》手游的推出可谓是万众期待。
这款基于Unity引擎研发的手游最大的亮点,就是其开放大世界的设定加上大型多人MMO的玩法,尤其是美术方面的创新可圈可点。细腻精致的模型、真实的光照体感、四季变化、昼夜更替、天气变化等美术表现,从小细节到大场景,无一不为玩家们呈现龙之谷历代之最的游戏画面。而8人冒险团、12V12竞技、甚至30V30的公会战等创新玩法,都极大提高了玩法自由度和社交属性,同时还能进行爽快的多人动作战斗,因此说《龙之谷2》这款手游是MMO中当之无愧的“动作之王”。
那么《龙之谷2》这款优秀的手游作品是怎么设计的,创新的开放大世界又是怎么创作出来的呢?我们特意采访到了盛趣游戏《龙之谷2》的美术总监秦雁,为大家带来美术方向的深度分享。
秦雁
盛趣游戏美术总监
01
游戏引擎优势
龙之谷IP的2代续作手游,传承了IP的Q萌经典画风、人设、场景,继续采用3D无锁定的战斗操作模式,强化打击感和战斗表现力,在前作基础上建立职业多流派BD强化策略性等等深受玩家的喜爱,可以简单的介绍下选择Unity引擎开发这款游戏的原因吗?
首先Unity引擎的通用性,非常适合手机游戏开发,对各个平台的支持都很友好,同时项目组可以自己定制各类shader和script来满足各类需求。
Unity的易用性,Asset Store 上插件丰富,可以轻松实现一些比较复杂的功能与效果,编辑器友好,开发人员上手很快,极大的缩短了项目的研发周期。
还有一点就是我们整个项目组得到Unity大中华区的技术支持团队与TA团队的有力支持,特别对一些棘手问题,大大提高了解决的速度。
02
更激萌的角色
游戏中人物细节更加精致,形象清新Q萌,惹人喜爱,可以结合新职业女牧师模型,谈谈Q萌且精致的人物形象创作的技巧吗?
龙之谷是一个经典的IP,在设定方面本身就做的非常的棒,但毕竟是运营10年前的一款网游,现在都已经2020了,龙之谷2如何让玩家老爷们有那熟悉的感觉,但又比起之前产品更加时尚,就成了我们的追求。角色的原画设定保留了原先的色彩规划,制作上借鉴了一些二次元的表现特征,以次时代3D的方式表现出来,目标就是既要让IP用户所接受,又让广泛的年轻手游玩家所喜爱。
以女牧师的设定为例,这个角色的特征就是呆毛和白毛,夸张的大眼睛,萌萌哒;色彩上白色,蓝色为主,搭配黄色,点缀金色和银色,突出牧师的圣洁与华丽感。
03
更强的打击感
游戏内各职业的打击感也是非常棒的,可以简单的分享下弓箭手的打击感是如何实现的吗?
众所周知,龙之谷是端游里面打击感最好的网游之一了,这次《龙之谷2》的定位就是- MMO游戏中的动作之王,希望给玩家清晰明确的战斗体验的同时又表现好龙之谷最精髓的打击感,连击技是龙之谷2的第一个特色,玩家可以根据自己的喜好,搭配出不同的技能组合,技能配合的好,一套连击技打下来,对方就GG了;打击感上,龙之谷经典的击飞,击倒,到浮空,倒地等效果,强大而又那么的朴实无华。
在技术的实现上,我们利用了Unity引擎强大的扩展性,编写了一套非线性技能编辑器,非常方便地导入动画和特效资源,这套编辑器可以让动画师所见即所得的进行技能编辑,策划小姐姐们再也不用在表格上填数字来猜想打击效果了,大大的提高了工作效率。
举个例子:我们一个主角包含233套动画(超丰富的动作表现),在我们的编辑器面板方便查看每一个动作及其帧数。
然后,在每一个动作的时间线上,来配置哪一帧出现特效,摄像机动画,声效等,所见即所得,非常的方便。
04
更开阔的游戏世界
可以简单介绍下龙之谷MMO大世界,无缝大地图的制作细节吗?
一直以来,龙之谷的玩家都对阿尔特里亚大陆只能管中窥豹而耿耿于怀,这次,龙之谷2将会给玩家一个自由,开放的大世界,再也不只是主城+副本了,升级打怪,玩家可以在这个世界策马奔腾,骑着狮鹫翱翔蓝天白云,也可以钓鱼,采矿,轻松休闲的在游戏里面生活,在我们的美丽的湖心岛,拥有6400M * 6400M的超大场景,玩家绕其跑一圈大概需要20分钟呢。
为了实现MMO大世界的效果,我们专门编写了地形和植被编辑器,一个大世界场景是由多个Tile平铺而成,一个Tile就是一个Unity场景,Tile则由多个chunk平铺而成,如下图所示:
这套地形和植被编辑器非常方便地支持以下功能:
05
更浪漫的浅滩
游戏中碧蓝的海岸浅滩,仿佛游戏屏幕中有扑面的海洋气息、潮湿而略带咸味,而且海水在太阳的直射下,海水还会泛起点点金色光芒,关于这种真实的海滩效果是如何实现的呢?可以跟大家分享下吗?
海滩是阿尔特里亚大陆的一个特色,很多故事都发生在海边,所以我们通过海水起伏、波光、海滩的泡沫效果这3个点简单的展示这个美丽真实海滩的制作:
1. 采用了Genster波的算法模拟海水的起伏,它的算法顶点会不仅有高度分量y的变化,同时在xz平面也会有一定的位移,这样在控制xz平面顶点位移大小的同时也控制了波峰是尖还是平缓。
2. 在光照计算中,我们参考了GDC2011论文的次表面散射算法,然后法线贴图来模拟波光,同时加入环境反射和菲涅尔的计算,在浅水的散射部分,我们让它的亮度有一些提高,增加真实感。
3. 海滩的泡沫效果,我们单独用sin波加uv偏移来模拟,同时加了一个pass来模拟海水退下后潮湿的沙滩效果。
06
更逼真的天气系统
龙之谷中昼夜交替的拟真天气系统,让玩家可以切身的感受到时间的流动和天气转换下阿尔特里亚的美景,增加了游戏的真实性和代入感,可以简单的分享下龙之谷2中的天气系统是如何实现的呢?
真实的阿尔特里亚大陆怎能没有白天黑夜、刮风下雨等天气变化呢?我们使用了Unity Asset Store 上的uSky插件,同时对其进行了优化,使其在昼夜交替的物理表现非常亮眼,可以让玩家明显的感受到天气的变化与时间的流逝;其次我们又增加了下雨,下雪,沙暴等天气系统增加了游戏的真实性和代入感,比如下雨系统,雨幕,云层的变化,地表积水的变化,雨滴落在场景建筑上形成水流的变化等,在24小时的变化都是不同的。我们通过曲线的方式来定义不同天气效果下不同元素(雾效,水面的反射)的变化,同时为了节省性能,我们把所用的texture都合并到全局变量中,高质量,高效率的实现了天气变化系统。
07
更立体的游戏场景
与1相比,龙之谷2在场景方面的表现力更加的出色,空间的立体感更强。可以给大家分享下Unity场景的搭建、打灯、烘焙的流程吗?(以凯德拉场景为例)
以凯德拉为例,我们通过以下步骤给玩家呈现了一个龙之谷的小镇风光
第一阶段:我们使用bigworld场景编辑器生成场景,导入高度图生成地表,同时通过笔刷调整地表细节,建筑物件导入,材质球指定,制作成profeb,摆放在场景合适的位置,layer属性指定,通过笔刷绘制地表植被,大型植物进行合理的排布。
第二阶段:为场景布置点光源,烘托场景气氛,动态物体采用lightprob来插值光照数据,为了更好的效果,我们的烘焙采用了Unity的shadowMask模式,它的最大优势是近景为实时光,远处为lightmap(虽然会产生3张lightmap影响性能,我们使用GPU-Instance来支持lightmap,这样性能的消耗忽略不计),同时搭配PostProcessing后处理,使场景效果美轮美奂。
第三阶段:天气系统参数调整,Navmesh碰撞体制作,为了使人物走在不同的材质上有不同的脚本步,需要对纹理做出命名规范,规范为纹理名称加后缀,比如:kdl_mud.tga,表示泥地纹理。
08
更“冷”的雨
可以简答的给广大的开发者们分享下游戏中表现下雨场景中湿滑的地面是如何通过Unity Shader来实现的呢?
具体步骤如下:
09
企业技术支持
Unity 企业技术支持团队与TA团队对项目有哪些支持,对项目有何帮助呢?
Unity 企业技术支持团队与TA团队对项目有很大的支持。
其中Unity TA团队:
Unity技术支持团队:
再次感谢Unity团队给予的支持和帮助。
《龙之谷2》的美术创作就给大家分享到这里。未来我们将继续给大家带来更多Made with Unity的游戏作品技术分享。
长按关注
第一时间了解Unity引擎动向,学习最新开发技巧
每一个“在看”,都是我们前进的动力